home *** CD-ROM | disk | FTP | other *** search
/ Xenosoft 2 / Xenosoft 2 (Game collection)(1994).iso / bioforge / script / ai_tower.scp < prev    next >
Text File  |  1994-11-06  |  7KB  |  506 lines

  1. // LEX'S TOWER MOVEMENT THROUGH VARIOUS TRIGGER BOXES CHANGE AI STATES
  2. // OF THE TOWERBOTS.  THIS WOULD HAVE BEEN A LOT EASIER IF WE HAD
  3. // LINE-OF-SIGHT FUNCTIONALITY, BUT WE DON'T.  LOCK AND LOAD.  - LRG
  4.  
  5. { TTBATZA
  6.  
  7.   ^ï╡        = 0
  8. }
  9.  
  10. { TTBATZB
  11.  
  12.   ^ï╡        = 0
  13. }
  14.  
  15. { TTBAT1
  16.  
  17.   ^ï╡        = 1
  18. }
  19.  
  20. { TTBAT2
  21.  
  22.   ^ï╡        = 2
  23. }
  24.  
  25. { TTBAT3
  26.  
  27.   ^ï╡        = 3
  28. }
  29.  
  30. { TTBAT4
  31.  
  32.   ^ï╡        = 4
  33. }
  34.  
  35. { TTBAT4B
  36.  
  37.   ^ï╡        = 4
  38. }
  39.  
  40. { TTBAT5
  41.  
  42.   ^ï╡        = 5
  43. }
  44.  
  45. { TTBAT5A
  46.  
  47.   ^ï╡        = 5
  48. }
  49.  
  50. { TTBAT6A
  51.  
  52.   ^ï╡        = 6
  53. }
  54.  
  55. { TTBAT6B
  56.  
  57.   ^ï╡        = 6
  58. }
  59.  
  60. { TTBAT7A
  61.  
  62.   ^ï╡        = 7
  63. }
  64.  
  65. { TTBAT7B
  66.  
  67.   ^ï╡        = 7
  68. }
  69.  
  70. { TTBAT8
  71.  
  72.   ^ï╡        = 8
  73. }
  74.  
  75. { TTBAT9
  76.  
  77.   ^ï╡        = 9
  78. }
  79.  
  80. { TTBAT10
  81.  
  82.   ^ï╡        = 10
  83. }
  84.  
  85.  
  86.  
  87. // READ_TOWERSBOTS INITIALIZES ALL TOWERBOT A.I.
  88. // IT SHOULD BE CALLED ONCE FROM THE ELT_LOAD CODE.
  89.  
  90. { READY_TOWERBOTS
  91.  
  92.     I ( ^çô              ) THEN
  93.         {
  94.         I  @Ç¢              ( TOWBOT1 ) THEN K   
  95.         I  @Ç¢              ( TOWBOT2 ) THEN K   
  96.         I  @Ç¢              ( TOWBOT3 ) THEN K   
  97.         I  @Ç¢              ( TOWBOT4 ) THEN K   
  98.         I  @Ç¢              ( TOWBOT5 ) THEN K   
  99.         I  @Ç¢              ( TOWBOT6 ) THEN K   
  100.  
  101.         ^ï╢        = $Ç╗   
  102.         ^ï╖        = $Ç╗   
  103.         ^ï╕        = $Ç╗   
  104.         ^ï╣        = $Ç╗   
  105.         ^ï║        = $Ç╗   
  106.         ^ï╗        = $Ç╗   
  107.  
  108.         é     
  109.         }
  110.  
  111.     I ( ^ï╢        = $Ç╝   ) THEN
  112.         @Çì      READY_TBOT1
  113.  
  114.     I ( ^ï╖        = $Ç╝   ) THEN
  115.         @Çì      READY_TBOT2
  116.  
  117.     I ( ^ï╕        = $Ç╝   ) THEN
  118.         @Çì      READY_TBOT3
  119.  
  120.     I ( ^ï╣        = $Ç╝   ) THEN
  121.         @Çì      READY_TBOT4
  122.  
  123.     I ( ^ï║        = $Ç╝   ) THEN
  124.         @Çì      READY_TBOT5
  125.  
  126.     I ( ^ï╗        = $Ç╝   ) THEN
  127.         @Çì      READY_TBOT6
  128. }
  129.  
  130. { READY_A_TOWBOT
  131.  
  132.     Z       CURFIG OFF
  133.     r          CURFIG OFF
  134.     è          ON
  135.     A  OFF
  136.     ï           PLAYER
  137. }
  138.  
  139. { READY_TBOT1
  140.  
  141.     I  @Ç¢              ( TOWBOT1 ) = $Ç╗    THEN
  142.         {
  143.         //CAPTION("CAN'T FIND TOWBOT1 !!");
  144.         é     
  145.         }
  146.  
  147.     @Ç¥   READY_A_TOWBOT
  148.     Y                 TWR3 TWR4 TWR5 TWR6 TWR7 ELT1 ELT2
  149.  
  150.     ö     TOWBOT1
  151.     G     TWBOT1
  152.     £     TWBFACE
  153.  
  154.     ª             TWBOT1
  155.  
  156.     M      ATK_STAND CONTINUE
  157.     A  ON
  158. }
  159.  
  160. { READY_TBOT2
  161.  
  162.     I  @Ç¢              ( TOWBOT2 ) = $Ç╗    THEN
  163.         {
  164.         //CAPTION("CAN'T FIND TOWBOT2 !!");
  165.         é     
  166.         }
  167.  
  168.     @Ç¥   READY_A_TOWBOT
  169.     Y                 TWR3 TWR4 TWR5 TWR6 TWR7 ELT1 ELT2
  170.  
  171.     ö     TOWBOT2
  172.     G     TWBOT2
  173.     £     TWBFACE
  174.     ª             TWBOT2
  175.  
  176.     q          ATK_STAND 6
  177.     A  ON
  178.  
  179. }
  180.  
  181. { READY_TBOT3
  182.  
  183.     I  @Ç¢              ( TOWBOT3 ) = $Ç╗    THEN
  184.         {
  185.         //CAPTION("CAN'T FIND TOWBOT3 !!");
  186.         é     
  187.         }
  188.  
  189.  
  190.     @Ç¥   READY_A_TOWBOT
  191.     Y                 TWR3 TWR4 TWR5 TWR6 TWR7
  192.  
  193.     ö     TOWBOT3
  194.     G     TWBOT3
  195.     £     180
  196.     ª             TWBOT3
  197.  
  198.     M      ATK_STAND CONTINUE
  199.     A  ON
  200.  
  201. }
  202.  
  203. { READY_TBOT4
  204.  
  205.     I  @Ç¢              ( TOWBOT4 ) = $Ç╗    THEN
  206.         {
  207.         //CAPTION("CAN'T FIND TOWBOT4 !!");
  208.         é     
  209.         }
  210.  
  211.     @Ç¥   READY_A_TOWBOT
  212.     Y                 TWR3 TWR4 TWR5 TWR6 TWR7
  213.  
  214.     ö     TOWBOT4
  215.     G     TWBOT4
  216.     £     0
  217.     ª             TWBOT4
  218.  
  219.     q          ATK_STAND 6
  220.     A  ON
  221.  
  222. }
  223.  
  224. { READY_TBOT5
  225.  
  226.     I  @Ç¢              ( TOWBOT5 ) = $Ç╗    THEN
  227.         {
  228.         //CAPTION("CAN'T FIND TOWBOT5 !!");
  229.         é     
  230.         }
  231.  
  232.     @Ç¥   READY_A_TOWBOT
  233.     Y                 TWR1 TWR2 TWR3 TWR4 TWR5 TWR6 TWR7
  234.  
  235.     ö     TOWBOT5
  236.     G     TWBOT5
  237.     £     180
  238.     ª             TWBOT5
  239.  
  240.     M      ATK_STAND CONTINUE
  241.     A  ON
  242.  
  243. }
  244.  
  245. { READY_TBOT6
  246.  
  247.     I  @Ç¢              ( TOWBOT6 ) = $Ç╗    THEN
  248.         {
  249.         //CAPTION("CAN'T FIND TOWBOT6 !!");
  250.         é     
  251.         }
  252.  
  253.     @Ç¥   READY_A_TOWBOT
  254.     Y                 TWR1 TWR2 TWR3 TWR4 TWR5 TWR6 TWR7
  255.  
  256.     ö     TOWBOT6
  257.     G     TWBOT6
  258.     £     180
  259.     ª             TWBOT6
  260.  
  261.     M      ATK_STAND CONTINUE
  262.     A  ON
  263.  
  264. }
  265.  
  266. { TOWBOT1_FIRE
  267.     @Ç¥   TOWERBOT_FIRE
  268. }
  269.  
  270. { TOWBOT2_FIRE
  271.     @Ç¥   TOWERBOT_FIRE
  272. }
  273.  
  274. { TOWBOT3_FIRE
  275.     @Ç¥   TOWERBOT_FIRE
  276. }
  277.  
  278. { TOWBOT4_FIRE
  279.     @Ç¥   TOWERBOT_FIRE
  280. }
  281.  
  282. { TOWBOT5_FIRE
  283.     @Ç¥   TOWERBOT_FIRE
  284. }
  285.  
  286. { TOWBOT6_FIRE
  287.     @Ç¥   TOWERBOT_FIRE
  288. }
  289.  
  290. { TOWERBOT_FIRE
  291.     // DON'T FIRE IF LEX IS IN THE ELEVATOR WITH THE DOOR CLOSED
  292.     I  @Çí         (LEX,ELT) AND ^ä₧        = $é╗       THEN é     
  293.     // TOWERBOT WILL FIRE A LASER FROM HIS LIMB NAMED 'GUN'
  294.     Ü            ( 10,0,0, 1 )
  295.                 @Ç╣          NRLASER GUN 5 60 (0,0,0)
  296. }
  297.  
  298. { TOWBOT1_AI
  299.  
  300.     :TOP
  301.  
  302.     â      
  303.  
  304.     I ( ^ï╢        = $Ç╗    ) THEN
  305.         é     
  306.  
  307.     I ( ^ï╡        = 0 ) THEN
  308.         J    #Çá
  309.  
  310.     I ( ^ï╡        = 2 ) THEN
  311.         J    #Çá
  312.  
  313.     I ( ^ï╡        > 7 ) THEN
  314.         J    #Çá
  315.  
  316.     p          
  317.  
  318.     M      FIRE CONTINUE
  319.  
  320.     W    30
  321.     p          
  322.     W    30
  323.     J    #Çá
  324.  
  325. }
  326.  
  327. { TOWBOT2_AI
  328.  
  329.     :TOP
  330.  
  331.     â      
  332.  
  333.     I ( ^ï╖        = $Ç╗    ) THEN
  334.         é     
  335.  
  336.     I ( ^ï╡        < 2 ) THEN
  337.         J    #Çó
  338.  
  339.     I ( ^ï╡        > 7 ) THEN
  340.         J    #Çó
  341.  
  342.     p          
  343.     M      FIRE CONTINUE
  344.  
  345.     W    30
  346.     p          
  347.     W    30
  348.     J    #Çó
  349. }
  350.  
  351. { TOWBOT3_AI
  352.  
  353.     :TOP
  354.  
  355.     â      
  356.  
  357.     I ( ^ï╕        = $Ç╗    ) THEN
  358.         é     
  359.  
  360.     I ( ^ï╡        < 5 ) THEN
  361.         J    #Çñ
  362.  
  363.     I ( ^ï╡        > 7 ) THEN
  364.         J    #Çñ
  365.  
  366.     p          
  367.     M      FIRE CONTINUE
  368.  
  369.     W    30
  370.     p          
  371.     W    30
  372.     J    #Çñ
  373. }
  374.  
  375. { TOWBOT4_AI
  376.  
  377.     :TOP
  378.  
  379.     â      
  380.  
  381.     I ( ^ï╣        = $Ç╗    ) THEN
  382.         é     
  383.  
  384.     I ( ^ï╡        < 5 ) THEN
  385.         J    #Ǫ
  386.  
  387.     I ( ^ï╡        > 7 ) THEN
  388.         J    #Ǫ
  389.  
  390.     p          
  391.     M      FIRE CONTINUE
  392.  
  393.     W    30
  394.     p          
  395.     W    30
  396.     J    #Ǫ
  397. }
  398.  
  399. { TOWBOT5_AI
  400.  
  401.     :TOP
  402.  
  403.     â      
  404.  
  405.     I ( ^ï╡        = 6 ) THEN
  406.         J    #Ç⌐ 
  407.  
  408.     I ( ^ï╡        = 9 ) THEN
  409.         J    #Ç⌐ 
  410.  
  411.     J    #Ç¿
  412.  
  413.     :GOOD
  414.  
  415.     p          
  416.     M      FIRE CONTINUE
  417.  
  418.     W    30
  419.     p          
  420.     W    30
  421.     J    #Ç¿
  422.  
  423. }
  424.  
  425. { TOWBOT6_AI
  426.  
  427.     :TOP
  428.  
  429.     â      
  430.  
  431.     I ( ^ï╡        = 7 ) THEN
  432.         J    #Ǽ 
  433.  
  434.     I ( ^ï╡        = 8 ) THEN
  435.         J    #Ǽ 
  436.  
  437.     J    #ǽ
  438.  
  439.     :GOOD
  440.  
  441.     p          
  442.     M      FIRE CONTINUE
  443.  
  444.     W    30
  445.     p          
  446.     W    30
  447.     J    #ǽ
  448.  
  449. }
  450.  
  451. { TOWERBOT_STIMULUS( _DAMAGE )
  452.  
  453. :ENERGY_DAMAGE
  454.  
  455.  
  456.     A  OFF
  457.  
  458.     M      RECOIL_TL
  459.  
  460.     A  ON
  461. }
  462.  
  463. { TOWBOT_DEATH
  464.  
  465.     ñ            CURFIG
  466.  
  467.     M      EXPLODE
  468.     Ü            (20,20,20,1)
  469.     @Çå   ( `ǽ         )
  470.     ú             (BOOM,WHITE,CURFIG)
  471.     K    CURFIG
  472.     l       CURFIG CONTINUE
  473. }
  474.  
  475. { TOWBOT1_DEATH
  476.     ^ï╢        = $Ç╗   
  477.     @Ç¥   TOWBOT_DEATH
  478. }
  479.  
  480. { TOWBOT2_DEATH
  481.     ^ï╖        = $Ç╗   
  482.     @Ç¥   TOWBOT_DEATH
  483. }
  484.  
  485. { TOWBOT3_DEATH
  486.     ^ï╕        = $Ç╗   
  487.     @Ç¥   TOWBOT_DEATH
  488. }
  489.  
  490. { TOWBOT4_DEATH
  491.     ^ï╣        = $Ç╗   
  492.     @Ç¥   TOWBOT_DEATH
  493. }
  494.  
  495. { TOWBOT5_DEATH
  496.     ^ï║        = $Ç╗   
  497.     @Ç¥   TOWBOT_DEATH
  498. }
  499.  
  500. { TOWBOT6_DEATH
  501.     ^ï╗        = $Ç╗   
  502.     @Ç¥   TOWBOT_DEATH
  503. }
  504.  
  505. //$ 26 - version number
  506.